package net.lahuobao.mall.entity.finance;

import net.lahuobao.enums.mall.finance.EFinAccountType;
import net.lahuobao.enums.mall.finance.EFinPaySource;
import net.lahuobao.export.datasoruce.annotation.ExportField;

import javax.xml.crypto.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * Created by clark on 2016/9/2 0002.
 * 商城中间账户收入实体
 */
public class MallMiddleIncomeAccount  implements  Serializable{

    //中间账户名
    @ExportField(title="中间账户名",sort=10)
    private String middleAccountName;

    //中间账户收款卡号
    @ExportField(title="中间账户(收款户)",sort=20)
    private String middleAccountBankNo;

    //中间账户类型
    @ExportField(title = "no", isShow = 0)
    private Integer middleAccountType;

    //中间账户类型名
    @ExportField(title="中间账户类型名",sort=30)
    private String  middleAccountTypeName;

    //订单号
    @ExportField(title="订单号",sort=40)
    private String orderNo;

    //订单总金额
    @ExportField(title="订单总金额",sort=50)
    private BigDecimal orderTotalMoney;

    //商品名称
    @ExportField(title="商品名称",sort=60)
    private String productName;

    //收入金额(到账金额)
    @ExportField(title="收入金额",sort=70)
    private BigDecimal incomeMoney;

    //到账时间
    @ExportField(title="到账时间",sort=80,isTranf=1,tranfType=2)
    private Timestamp incomeTime;

    //付款方
    @ExportField(title="付款方",sort=90)
    private String payerAccountName;

    //付款方账号
    @ExportField(title="付款方账号",sort=100)
    private String payerAccountBackNo;

    //支付时间
    @ExportField(title="支付时间",sort=120,isTranf=1,tranfType=2)
    private Timestamp payTime;

    //支付类型
    @ExportField(title = "no", isShow = 0)
    private Integer payType;

    //支付类型名称
    @ExportField(title="支付类型",sort=130)
    private String payTypeName;

    //支付开始时间
    @ExportField(title = "no", isShow = 0)
    private String payStartTime;

    //支付结束时间
    @ExportField(title = "no", isShow = 0)
    private String payEndTime;


    public String getMiddleAccountName() {
        return middleAccountName;
    }

    public void setMiddleAccountName(String middleAccountName) {
        this.middleAccountName = middleAccountName;
    }

    public String getMiddleAccountBankNo() {
        return middleAccountBankNo;
    }

    public void setMiddleAccountBankNo(String middleAccountBankNo) {
        this.middleAccountBankNo = middleAccountBankNo;
    }

    public Integer getMiddleAccountType() {
        return middleAccountType;
    }

    public void setMiddleAccountType(Integer middleAccountType) {
        this.middleAccountType = middleAccountType;
    }

    public String getMiddleAccountTypeName() {
        return EFinAccountType.valueOf(middleAccountType);
    }

    public void setMiddleAccountTypeName(String middleAccountTypeName) {
        this.middleAccountTypeName = middleAccountTypeName;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public BigDecimal getOrderTotalMoney() {
        return orderTotalMoney;
    }

    public void setOrderTotalMoney(BigDecimal orderTotalMoney) {
        this.orderTotalMoney = orderTotalMoney;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public BigDecimal getIncomeMoney() {
        return incomeMoney;
    }

    public void setIncomeMoney(BigDecimal incomeMoney) {
        this.incomeMoney = incomeMoney;
    }

    public Timestamp getIncomeTime() {
        return incomeTime;
    }

    public void setIncomeTime(Timestamp incomeTime) {
        this.incomeTime = incomeTime;
    }

    public String getPayerAccountName() {
        return payerAccountName;
    }

    public void setPayerAccountName(String payerAccountName) {
        this.payerAccountName = payerAccountName;
    }

    public String getPayerAccountBackNo() {
        return payerAccountBackNo;
    }

    public void setPayerAccountBackNo(String payerAccountBackNo) {
        this.payerAccountBackNo = payerAccountBackNo;
    }

    public Timestamp getPayTime() {
        return payTime;
    }

    public void setPayTime(Timestamp payTime) {
        this.payTime = payTime;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getPayTypeName() {
        return EFinPaySource.valueOf(payType);
    }

    public void setPayTypeName(String payTypeName) {
        this.payTypeName = payTypeName;
    }

    public String getPayStartTime() {
        return payStartTime;
    }

    public void setPayStartTime(String payStartTime) {
        this.payStartTime = payStartTime;
    }

    public String getPayEndTime() {
        return payEndTime;
    }

    public void setPayEndTime(String payEndTime) {
        this.payEndTime = payEndTime;
    }
}